nasm -felf boot.asm -o boot.o
i586-elf-g++ -c kernel.cpp -o kernel.o -ffreestanding -O2 -Wall -Wextra -fno-exceptions -fno-rtti -std=c++11
i586-elf-g++ -c IO/TerminalPosition.cpp -o TerminalPosition.o -ffreestanding -O2 -Wall -Wextra -fno-exceptions -fno-rtti -std=c++11
i586-elf-g++ -c IO/Terminal.cpp -o Terminal.o -ffreestanding -O2 -Wall -Wextra -fno-exceptions -fno-rtti -std=c++11
i586-elf-g++ -c Memory/KernelHeap.cpp -o KernelHeap.o -ffreestanding -O2 -Wall -Wextra -fno-exceptions -fno-rtti -std=c++11
i586-elf-g++ -c System/GDT.cpp -o GDT.o -ffreestanding -O2 -Wall -Wextra -fno-exceptions -fno-rtti -std=c++11
i586-elf-g++ -c Helpers/StringHelpers.cpp -o StringHelpers.o -ffreestanding -O2 -Wall -Wextra -fno-exceptions -fno-rtti -std=c++11
i586-elf-gcc -T linker.ld -o kernel.bin -ffreestanding -O2 -nostdlib boot.o kernel.o Terminal.o  TerminalPosition.o KernelHeap.o GDT.o StringHelpers.o -lgcc
